<?php

/**
 * Class used to interact with roles returned by Character EVE API.
 *
 * @package eveApi
 *
 */

/**
 * Include the file that provides the eveapi class
 *
 */
require_once('eveapi.class.php');

/**
 * class Character
 * @package eveApi
 *
 */
class Character extends eveapi{
	
	/**
	* getAccountBalance
	* Gets the account status
	*
	* @return mixed SimpleXMLObject generated from API
	* 
	*/
	function getAccountBalance(){
		$path = "/char/AccountBalance.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getAssetList
	* Gets the asset list
	*
	* @return mixed SimpleXMLObject generated from API
	* 
	*/
	function getAssetList(){
		$path = "/char/AssetList.xml.aspx";
		return $this->retreiveXML($path);
	}

	/**
	 * getCalendarEventAttendees
	 * 
	 * @param array eventids List of event id's to pass to the API
	 * 
	 * @return mixed SimpleXMLObject generated from API
	 * 
	 */
	function getCalendarEventAttendees($eventids){
		$eventids = (array)$eventids;
		$eventids['eventID'] = implode(',',$eventids);
		// Uses EventID's
		$path = "/char/CalendarEventAttendees.xml.aspx";
		return $this->retreiveXML($path, $eventids);
	}

	/**
	 * getCharacterSheet
	 * 
	 * @return mixed SimpleXMLObject generated from API
	 */
	function getCharacterSheet(){
		$path = "/char/CharacterSheet.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	 * getContactList
	 * 
	 * @return mixed SimpleXMLObject generated from API
	 */
	function getContactList(){
		$path = "/char/ContactList.xml.aspx";
		return $this->retreiveXML($path);
	}

	/**
	 * getContactNotifications
	 * 
	 * @return mixed SimpleXMLObject generated from API
	 */
	function getContactNotifications(){
		$path = "/char/ContactNotifications.xml.aspx";
		return $this->retreiveXML($path);
	}		
	
	/**
	 * getIndustryJobs
	 * 
	 * @return mixed SimpleXMLObject generated from API
	 */
	function getIndustryJobs(){
		$path = "/char/IndustryJobs.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getKillLog
	* Gets the Character's Kill Log
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getKillLog(){
		$path = "/char/KillLog.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getMailingLists
	* Gets the Character's Mailing Lists
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	
	function getMailingLists(){
		$path = "/char/mailinglists.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getMailBodies
	* Gets the Character's Mail
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	
	function getMailBodies(){
		// Takes comma delimited list of mail id's: $PARAMS['ids'] = "1,2,3,4"
		$path = "/char/MailBodies.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getMailingMessages
	* Gets the Character's Mail Messages
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getMailMessages(){
		$path = "/char/MailMessages.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getMarketOrders
	* Gets the Character's Market Orders
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getMarketOrders(){
		$path = "/char/MarketOrders.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getMedals
	* Gets the Character's Medals
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getMedals(){
		$path = "/char/Medals.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getNotificationTextx
	* Gets the Character's Notification full text
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getNotificationTexts(){
		$path = "/char/NotificationTexts.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getNotifications
	* Gets the Character's List of notifications
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getNotifications(){
		$path = "/char/Notifications.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getStandings
	* Gets the Standings with every possible faction
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getStandings(){
		$path = "/char/Standings.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getResearch
	* Gets the Character's crrent research
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getResearch(){
		$path = "/char/Research.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getSkillInTraining
	* Gets the Character's Current skill in training
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getSkillInTraining(){
		$path = "/char/SkillInTraining.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getSkillQueue
	* Gets the Character's full skill queue
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getSkillQueue(){
		$path = "/char/SkillQueue.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getUpcomingCalendarEvents
	* Gets the Character's Upcoming Events
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getUpcomingCalendarEvents(){
		$path = "/char/UpcomingCalendarEvents.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getWalletJournal
	* Gets the Character's Wallet Journal (history)
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getWalletJournal(){
		$path = "/char/WalletJournal.xml.aspx";
		return $this->retreiveXML($path);
	}
	
	/**
	* getWalletJournal
	* Gets the Character's Wallet Transactions (history)
	* 
	* @return mixed SimpleXMLObject generated from API
	*/
	function getWalletTransactions(){
		$path = "/char/WalletTransactions.xml.aspx";
		return $this->retreiveXML($path);
	}
}


?>
